This invention relates generally to force-feedback and haptic devices and, in particular, to the authoring of world models which incorporate haptic and visual integration.
Specialized force-feedback devices originated in the 1960""s with the introduction of teleoperations, wherein, typically, a smaller controller or master robot was moved by an operator to control the movements of a larger slave robot. Forces detected at the slave were then fed back to the operator through actuators at the location of the master. Such prior art is discussed in U.S. Pat. Nos. 5,389,865, 5,459,382 and 5,629,594 to Jacobus, et al, and also described elsewhere in the literature.
In the late 1980""s, NASA funded several programs using force feedback devices which were not identically configured as miniature versions of a slave device. This advance enabled an operator such as an astronaut to control a number of different space-based robots and cranes from a xe2x80x9cuniversalxe2x80x9d controller. To realize this concept, the master controller was logically connected to the slave through a network of computers which were capable of translating the master kinematics typically into Cartesian coordinates and from Cartesian to slave kinematics (and back again).
With such computer translation in place on the master side of the system, it becomes possible to send inputs from the master, be it a joystick, wheel, yoke, or other type of manipulator, to a simulated slave rather than to a real one, and to accept forces from the simulation for application to the master as well. The simulation need not represent a real device, like a crane or robot, but may be a simulated vehicle, weapon or other implement. The simulation may also reside in a person performing a task in a virtual world such as walking, handling objects, and touching surfaces. Such innovations are among those disclosed in the patents referenced above.
As force-feedback technology proliferates, haptic interfaces will need to accommodate numerous different controllers and environments. The issued patents referenced above disclose multi-degree of freedom controllers for use in various representative configurations, including totally self-contained configurations. At the same time, tools and techniques will need to be created to provide consistency in developing and improving haptic applications.
Toward these ends, co-pending U.S. application Ser. No. 08/859,157 provides means for adjusting behavioral attributes associated with haptic device control, whether during development or execution, and co-pending U.S. application Ser. No. 08/861,080, now U.S. Pat. No. 5,844,392 discloses architectures and features relating to xe2x80x9cbrowsers,xe2x80x9d wherein common geometrical descriptions are shared among visual and haptic rendering functions. Both of these applications are incorporated herein in their entirety by reference. The need remains, however, for methods, data structures, and control strategies to organize the development of world models driven by these integrated haptic/visual environments.
The present invention resides in authoring tools which allow a user to create or import existing geometry files, attach haptic or other attributes to the object components of the files, and browse file contents in final or intermediate states of composition. The final edited world files may be written to disk or exported over networks, preferably in standardized formats, including hyperlinks over the world-wide web, to applications programs which incorporate visual, haptic, and/or sound capabilities, enabling other users view, touch, attached to, and manipulate the objects.
In a preferred embodiment, the invention incorporates a distinct set of facilities for reading, writing, browsing, navigating, and/or editing databases which encode hierarchical geometric data, so as to combine surface attribution and touch or haptic attribution. To enhance these functions, visual/haptic avatar may be provided to assist in designating a user""s position in the virtual world being edited.
Applied forces may be used to aid a user in a number of ways, including the following:
moving a point to a particular discrete grid position (snap to grid);
moving to a geometrical object control point of feature (end points of a line, center of a circle, radius of a circle, control points of a b-spline, etc.);
to resist stretching or compression of a feature (i.e., programmable stiffness or elasticity);
to resist user actions (through viscosity, friction, repulsive force);
to help in aligning a new object with respect to an existing one (with or without knowledge of coordinate values needed for most equivalent operations); or
to support material removal, as in carving or scraping operations.
Forces may also be used to demark the locations of menu items, dialog response locations, and icons (similar to use of forces to aid in locating control points or grid locations), or to maintain orientation or positional constraints while performing another operation.
The invention further supports the use of transform and object hierarchy for coding haptic world and object databases, as well as machine independent program description languages for haptic authoring system communications interfacing and control algorithms, independent of computer/operating system, control device type and communications systems.